//package com.utilcase.config;
//
//import com.utilcase.enums.ExchangeType;
//import lombok.Data;
//import lombok.NoArgsConstructor;
//import org.springframework.boot.context.properties.ConfigurationProperties;
//import org.springframework.context.annotation.Configuration;
//
//import java.util.List;
//import java.util.Map;
//
//@Configuration
//@ConfigurationProperties(prefix = "spring.rabbitmq")
//@Data // 自动生成getter、setter等
//@NoArgsConstructor // 自动生成无参构造器
//public class RabbitMQConfigProperties {
//
//    private List<QueueProperties> queues;
//    private List<ExchangeProperties> exchanges;
//    private List<BindingProperties> bindings;
//
//    // 内部类用于存储队列的属性
//    @Data
//    @NoArgsConstructor
//    public static class QueueProperties {
//        private String name;
//        private boolean durable;
//        private  boolean exclusive;
//        private  boolean autoDelete;
//        private Map<String, Object> arguments;
//    }
//
//    // 内部类用于存储交换机的属性
//    @Data
//    @NoArgsConstructor
//    public static class ExchangeProperties {
//        private String name;
//        private String customType;
//        private ExchangeType type;
//
//        private  boolean autoDelete;
//        private boolean durable;
//        private Map<String, Object> arguments;
//    }
//
//    // 内部类用于存储绑定的属性
//    @Data
//    @NoArgsConstructor
//    public static class BindingProperties {
//        private String source;
//        private String destination;
//        private String routingKey;
//    }
//}